#ifndef _SHIPVIEW_H_
#define _SHIPVIEW_H_

#include "EntityView.h"
#include "..\..\GameModel\model\Ship.h"
#include "..\sdl\SDLProgressBar.h"
#include "..\ShipLifeMonitor.h"
#include "..\ShipShieldMonitor.h"
#include "feature\SuperShieldView.h"

using namespace sdl;

namespace view
{
class ShipView : public EntityView
{
public:
	ShipView(Entity* entity, SDLSurface* parentSurface, string accelerateImagePath);
	ShipView(Entity* entity, SDLSurface* parentSurface, int width, int height, string accelerateImagePath);
	virtual ~ShipView(void);
	void setAcceleratingImage(string imagePath);
	string getAcceleratingImage();
	void paint(void);
protected:
	string acceleratingImage;
	SDLSurface* accelerated;
	SDLSurface* temp;
private:
	void initializeLifeMeter(void);
	void initializeShieldMeter(void);
	void drawLifeMeter(void);
	void drawShieldMeter(void);
	void updateMeters(void);
    auto_ptr<SuperShieldView> superShield;
	auto_ptr<SuperShieldView> Shield;
	auto_ptr<SDLProgressBar> lifeMeter;
	auto_ptr<SDLProgressBar> shieldMeter;
	auto_ptr<ShipLifeProperty> lifeProperty;
	auto_ptr<ShipShieldProperty> shieldProperty;
};
};

#endif
